package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付宝余额
 * @author xiaochuan
 * @since 2020-12-22
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblAlipayRemainAmount extends BaseModel implements Serializable {


    /**
     * 账单日期
     */
    @ExcelProperty(value = "账单日期")
    @ApiModelProperty(value = "账单日期")
    @NotNull(message = "账单日期不能为空")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date outDate;

    /**
     * 支付宝登陆账号
     */
    @ExcelProperty(value = "支付宝登陆账号")
    @ApiModelProperty(value = "支付宝登陆账号")
    private String username;

    /**
     * 店铺账号
     */
    @ExcelProperty(value = "店铺账号")
    @ApiModelProperty(value = "店铺账号")
    private String email;

    /**
     * 店铺编码
     */
    @ExcelProperty(value = "店铺编码")
    @ApiModelProperty(value = "店铺编码")
    @NotBlank(message = "店铺编码不能为空")
    private String shopNo;

    /**
     * NC店铺编码
     */
    @ExcelProperty(value = "NC店铺编码")
    @ApiModelProperty(value = "NC店铺编码")
    private String ncShopNo;

    /**
     * 收入总金额
     */
    @ExcelProperty(value = "收入总金额")
    @ApiModelProperty(value = "收入总金额")
    private BigDecimal incomeAmount;

    /**
     * 支出总金额
     */
    @ExcelProperty(value = "支出总金额")
    @ApiModelProperty(value = "支出总金额")
    private BigDecimal expendAmount;

    /**
     * 期初余额
     */
    @ExcelProperty(value = "期初余额")
    @ApiModelProperty(value = "期初余额")
    private BigDecimal beginAmount;

    /**
     * 期末余额
     */
    @ExcelProperty(value = "期末余额")
    @ApiModelProperty(value = "期末余额")
    @NotNull(message = "期末余额不能为空")
    private BigDecimal endAmount;
}
